package com.zshan.clinic.admin.entity.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zshan.clinic.admin.entity.medical.exam.ExamDetail;
import com.zshan.clinic.admin.entity.medical.field.MedicalFieldDetail;
import com.zshan.clinic.admin.entity.medical.rx.base.RxBase;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;

/**
 * 门诊患者列表
 * @author lichen
 */
@Data
public class ClinicMedicalDetailVo extends ClinicMedicalPageVo {

    /** 初诊类型;1、初诊 2、复诊 */
    private String visitType;

    /** 患者电话 */
    private String patientPhone;

    /** 身份证号 */
    private String idCard;

    /** 年龄年;5代表5岁 */
    private Integer ageYear;

    /** 年龄月;2代表2个月 */
    private Integer ageMonth;

    /** 阳历生日;阳历生日 */
    private LocalDate solarBirthday;

    /** 阴历生日;阴历生日 */
    private LocalDate lunarBirthday;

    /** 体重;53.8kg */
    private BigDecimal weight;

    /** 收缩压;120mmHg */
    private Integer systolicBp;

    /** 舒张压;80mmHg */
    private Integer diastolicBp;

    /** 就诊状态;1、待诊2、诊中3、去检查4、已诊 */
    private String visitStatus;

    /** 是否随访;1是0否 */
    private String isFollowUp;

    /**
     * 几天以后随访，默认是3天
     */
    private Integer followUpDays;

    /** 医嘱事项 */
    private String doctorAdvice;

    /**
     * 诊所ID
     */
    private Long clinicId;

    /**
     * 病历的list
     */
    @JsonIgnore
    private String fieldListJson;


    private List<MedicalFieldDetail> fieldList;


    /**
     * 查验项目的list
     */
    private List<ExamDetail> examList;

    /**
     * 处方的list
     */
    private List<RxBase> rxList;

    /**
     * 挂号ID
     */
    @JsonIgnore
    private Long registerId;


    /** 主诉 */
    @JsonIgnore
    private String complaint;

    /** 最后诊断 */
    @JsonIgnore
    private String diagnosis;

    /** 诊断时间 */
    @JsonIgnore
    private Date diagnosisTime;

    /** 科室ID */
    @JsonIgnore
    private Long deptId;

    /** 科室名 */
    @JsonIgnore
    private String deptName;

    @JsonIgnore
    private Long updateUserId;

    @JsonIgnore
    private String updateBy;
}
